Printing systems typically include a print controller and one or more print engines. The print controller directs the overall operation of the printing system including, for example, host interfacing, interpretation or rendering of print data, and lower level process control or interface features of the print engines. Host interaction may include appropriate adapters for coupling the printing system to one or more host systems that transmit print jobs to the printing system. The print jobs are generally encoded in the form of a page description language such as PostScript (PS), Printer Control Language (PCL), Intelligent Printer Data Stream (IPDS), etc.
In whatever form the print job may be encoded or formatted, the print controller within the printing system interprets the received information to generate sheetside bitmaps of the print job. The sheetside bitmaps represent the image to be printed on one side of a sheet of a print medium. Each sheetside bitmap generally comprises a 2-dimensional array of picture elements (also referred to as pixels or PELS) that represent a corresponding formatted sheet of the print job. Each pixel may represent an encoded colorant value in accordance with the requirements of the particular print job encoding and the capabilities of the printing system on which the print job is to be printed.
The print controller forwards the sheetside bitmaps to one or more print engines (also referred to as imaging engines or a marking engines). The print engine may be a laser engine, an ink-jet engine, or another type of imaging system that marks the print media based on the sheetside bitmaps.
The output quality for printing systems generally depends on the print engine output characteristics being known and fixed, so that colorant conversions and transfer curves can be constructed in advance. This known state may be referred to as the reference state. In practice, printing systems tend to become un-calibrated due to environmental conditions and operating conditions, and therefore, drift out of calibration over time. This printer drift degrades the output quality of a printed product. Also, the calibration changes needed to correct for the printer drift are generally impossible to predict in advance because they depend on too many factors, both external and internal (e.g., temperature, humidity, printer age, etc.).
Printer drift has usually been solved by periodically recalibrating the printing system. Calibrating a printing system involves printing a set of test patches (also referred to as calibration targets) where the output is known assuming that the printer is in the reference state. The printed patches are then measured such that a calibration system may compare the measured patches to known values of the reference state of the printer to determine whether the printer has drifted (i.e., is out of calibration). The calibration system then uses this information to adjust the transfer curves (i.e., colorant conversion models) such that subsequent output of the printing system can be corrected to that of the printing system in the reference state. However, calibration systems may be expensive and difficult to use.